package cool.lichuan.project.system.service.impl;

import cn.dev33.satoken.secure.SaSecureUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cool.lichuan.common.domain.UserDetail;
import cool.lichuan.project.system.domain.User;
import cool.lichuan.project.system.mapper.UserMapper;
import cool.lichuan.project.system.service.UserService;
import org.springframework.stereotype.Service;
/**
 * @author lichuan
 * @date 2021/11/24 16:07
 * @description
 */
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService{

    /**
     * 新增用户
     *
     * @param user 用户信息
     * @return 返回
     */
    @Override
    public boolean saveUser(User user) {
        // 1、校验用户信息，比如登录名是否存在等
        // 用户设定的明文密码
        String plaintext = user.getPassword();
        // 2、以登录名为盐进行md5加密密码
        String ciphertext = SaSecureUtil.md5BySalt(plaintext, user.getLoginName());
        user.setPassword(ciphertext);
        return this.save(user);
    }

    /**
     * 根据用户id查询用户信息(包括部门信息及角色信息)
     * @param userId 用户id
     * @return 用户信息信息
     */
    @Override
    public UserDetail getUserDetailById(Long userId) {
        return baseMapper.selectUserDetailById(userId);
    }
}
